トップへ戻るニュースフォーラムFLASH-ML 過去ログBak@Flaダウンロードよくある質問と答
ログイン
ユーザ名:

パスワード:


パスワード紛失

新規登録
メインメニュー
メイン
   迷える子羊の部屋【初心者専用】
     Boolean型の場合の比較
投稿するにはまず登録を

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
あにぃ
Åê¹ÆNo.40455
投稿日時: 2008-10-8 10:54
職人
居住地: 北海道
投稿: 238
使用環境:
Flash8
FlashCS3
WinXP
FlashLite1.1 / 2.0
Boolean型の場合の比較
書き出しバージョン8、AS2.0でおそらく、Flashの仕様なのかと思われるのですが、
下記コードの実行の際
a=1
b=1;
trace(a==b==2);
trace(a==2 and b==2);
出力結果は
false
false
となります

ただし、下記の場合には
a=false
b=false;
trace(a==b==true);
trace(a==true and b==true);
出力結果は
true
false
となります。

a==b==true と a==true and b == true
は双方とも「aがtrueで、且つbがtrue」という比較だと思われるのですが、なぜこのようなになるのでしょうか。
Boolean型ではない場合には思ったとおりの挙動になるので、Boolean型の場合のみだと思われるのですが…。
ご教授願えますと幸いです。


----------------
質問する際には、ご自分でできる限り調べてから投稿して下さい

P・S 職人おめでとう。(08/10/09)

野中文雄
Åê¹ÆNo.40456
投稿日時: 2008-10-8 11:26
ちょんまげら
居住地: 東京
投稿: 4166
使用環境:
CS4 .4.11 Vista Home Premium (SP1)
Re: Boolean型の場合の比較
違います。「a==b==true」は、「(a == b) == true」に等しいです。
var a:Boolean = false;
var b:Boolean = false;
var b1stResult:Boolean = (a == b);
trace(b1stResult);
trace(b1stResult == true);

なお、代入演算子の場合には、右結合(右辺から処理)であり、代入式は右辺値を返すので、「a = b = true」は「a = (b = true)」と等しく、「a = true; b = true」と同じ結果になるというだけです。
引用:
towardさんは書きました:
a==b==true と a==true and b == true
は双方とも「aがtrueで、且つbがtrue」という比較だと思われるのですが、なぜこのようなになるのでしょうか。


----------------
 

あにぃ
Åê¹ÆNo.40457
投稿日時: 2008-10-8 11:42
職人
居住地: 北海道
投稿: 238
使用環境:
Flash8
FlashCS3
WinXP
FlashLite1.1 / 2.0
Re: Boolean型の場合の比較
ご返答ありがとうございます。
Flashはじめて1年ちょっとですが、ずっと勘違いしていた模様です。納得しました。

引用:

Fumioさんは書きました:
違います。「a==b==true」は、「(a == b) == true」に等しいです。
var a:Boolean = false;
var b:Boolean = false;
var b1stResult:Boolean = (a == b);
trace(b1stResult);
trace(b1stResult == true);

なお、代入演算子の場合には、右結合(右辺から処理)であり、代入式は右辺値を返すので、「a = b = true」は「a = (b = true)」と等しく、「a = true; b = true」と同じ結果になるというだけです。
引用:
towardさんは書きました:
a==b==true と a==true and b == true
は双方とも「aがtrueで、且つbがtrue」という比較だと思われるのですが、なぜこのようなになるのでしょうか。


----------------
質問する際には、ご自分でできる限り調べてから投稿して下さい

P・S 職人おめでとう。(08/10/09)

スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ

投稿するにはまず登録を
 
Copyright (C) 2003 FLASH-japan. All rights reserved.
Powered by Xoops